/*
 * @(#)cn.design.pattern.visitor 2020/4/23/0023
 *
 * Copy Right@ 人人译视界
 */


package cn.design.pattern.visitor;

import java.util.LinkedList;
import java.util.List;

/**
 * <pre>
 * @author tuwei
 *
 * @version 0.9
 *
 * 修改版本: 0.9
 * 修改日期: 2020/4/23/0023
 * 修改人 :  tuwei
 * 修改说明: 初步完成
 * 复审人 ：
 * </pre>
 */
public class ObjectStructure {
	// 维护了一个集合
	private List<Person> persons = new LinkedList<>();

	public void attach(Person p) {
		persons.add(p);
	}

	public void detach(Person p) {
		persons.remove(p);
	}

	public void display(Action action) {
		for (Person p : persons) {
			p.accept(action);
		}
	}
}
